System and method for wireless vehicle content determination

ABSTRACT

A fleet management system providing a manager with a tailored user interface based on the enabled features recognized in a vehicle. The fleet management system may monitor two or more vehicles, wherein each vehicle may have one or more processors. The one or more processors may receive an initialization signal from the fleet management system. The one or more processors may perform a query of one or more vehicle modules for enabled features in response to the initialization signal received from the fleet management system. The query of enabled vehicle features may be based on one or more criteria. The system may transmit to a server a signal indicating the enabled vehicle features installed in the vehicle. The system may output the enabled vehicle features to a user while tailoring the user screen data based on the enabled features.

TECHNICAL FIELD

This invention relates generally to a vehicle computing system andmethods for determining, organizing, managing, and transmitting vehiclefeatures and functions for a fleet management system.

BACKGROUND

U.S. Patent Application 2009/0326991 generally discloses a fleetmanagement system has a chauffeur or driver module and a communicationand positioning module associated with each fleet vehicle, and a backendmonitoring and control system located at a fleet data center incommunication with each vehicle. The system monitors each tripautomatically and generates time stamps at the start of a trip, a pickup location, a drop off location, and return of the vehicle to a garageat the end of a trip. Vehicle status information is collected and storedalong with timestamps. The information is used to generate billing andpayroll accounts, and also in monitoring conditions of fleet vehiclesand generating alerts as needed. Turn-by-turn route instructions areprovided to drivers by voice output on request.

U.S. Pat. No. 7,356,394 generally discloses a Radio FrequencyIdentification (RFID) vehicle management system and method. For example,an RFID tag may be coupled with a particular vehicle and operable tostore identifying information associated with the vehicle and toautomatically communicate the identifying information to an RFID tagreader via a wireless communication. In another example, the method mayinclude querying a first RFID tag coupled with a first vehicle foridentifying information of the first vehicle. A second RFID tag coupledwith a second vehicle for second identifying information of the secondvehicle. The first identifying information and the second identifyinginformation is dynamically communicated to a user.

U.S. Pat. No. 7,209,490 generally discloses an apparatus and method forrapidly providing activity on a vehicle network bus including a nodehaving a bus connection. The node includes a Rapid Response Stack loadedwith the predetermined message to respond to any network bus requestbefore the application is up and running. A true stack is loaded withreal messages from the application once it is booted up and running onthe node, whereupon the application subsequently responds to network busrequests using the true stack instead of the Rapid Response Stack.

SUMMARY

In a first illustrative embodiment, a fleet management system providinga manager with a tailored user interface based on the enabled featuresrecognized in a vehicle. The fleet management system may monitor two ormore vehicles, wherein each vehicle may have one or more processors. Theone or more processors may receive an initialization signal from thefleet management system. The one or more processors may perform a queryof one or more vehicle modules for enabled features on the module inresponse to the initialization signal received from the fleet managementsystem. The query of enabled vehicle features may be based on one ormore criteria. The system may transmit to a server a signal indicatingthe enabled vehicle features installed in the vehicle. The system mayoutput the enabled vehicle features to a user while tailoring the userscreen data based on the enabled features.

In a second illustrative embodiment, a non-transitory computer readableencoded with a computer program for providing instructions to direct oneor more computers to wirelessly receive a initialization signal from thefleet management system to determine features enabled on a vehicle. Thecomputer-implemented medium may perform a query of one or more vehiclemodules for enabled features installed in the vehicle in response to theinitialization signal. The computer program may perform the query on amodule based on one or more criteria to determine whether a vehiclefeature is enabled in the vehicle. The computer program may wirelesslytransmit to a server a signal indicating the enabled features.

In a third illustrative embodiment, a method for providing determiningvehicle feature content and transmitting the information to a fleetmanagement system. The method may have a vehicle computing systemwirelessly receive an initialization signal from a fleet managementsystem. The method may establish communication of one or more vehiclemodules using a vehicle data bus and being to perform a query of the oneor more vehicle modules for enabled features installed in a vehicle. Thequery process may begin in response to the initialization signalreceived by the vehicle computing system. The method may query the oneor more vehicle modules based on one or more criteria. The method maywirelessly transmit to a server a signal indicating the enabled vehiclefeatures installed in the vehicle. The method may output the enabledvehicle features to a user of the fleet management system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an exemplary block topology of a vehicle infotainment systemimplementing a user-interactive vehicle information display system;

FIG. 2 is an is a detailed block diagram of the components of a fleetmanagement system;

FIG. 3 is a more detailed block diagram of the back end office system orcontrol system of the fleet management system;

FIG. 4 is a block system architecture of a vehicle computing systemquerying one or more modules on the vehicle communication bus;

FIG. 5 is a flow chart illustrating an example method of a vehiclecomputing system querying one or more modules;

FIG. 6 is a flow chart illustrating an example method of determiningenabled vehicle features on a module in a vehicle computing system;

FIG. 7 is a flow chart illustrating an example method of tailoring auser screen in response to one or more vehicle features detected withina vehicle computing system; and

FIG. 8 is a block diagram of information being presented on an outputdevice in response to the one or more vehicle features.

DETAILED DESCRIPTION

As required, detailed embodiments of the present invention are disclosedherein; however, it is to be understood that the disclosed embodimentsare merely exemplary of the invention that may be embodied in variousand alternative forms. The figures are not necessarily to scale; somefeatures may be exaggerated or minimized to show details of particularcomponents. Therefore, specific structural and functional detailsdisclosed herein are not to be interpreted as limiting, but merely as arepresentative basis for teaching one skilled in the art to variouslyemploy the present invention.

FIG. 1 illustrates an example block topology for a vehicle basedcomputing system 1 (VCS) for a vehicle 31. An example of such avehicle-based computing system 1 is the SYNC system manufactured by THEFORD MOTOR COMPANY. A vehicle enabled with a vehicle-based computingsystem may contain a visual front end interface 4 located in thevehicle. The user may also be able to interact with the interface if itis provided, for example, with a touch sensitive screen. In anotherillustrative embodiment, the interaction occurs through, button presses,spoken dialog system with automatic speech recognition and speechsynthesis.

In the illustrative embodiment 1 shown in FIG. 1, a processor 3 controlsat least some portion of the operation of the vehicle-based computingsystem. Provided within the vehicle, the processor allows onboardprocessing of commands and routines. Further, the processor is connectedto both non-persistent 5 and persistent storage 7. In this illustrativeembodiment, the non-persistent storage is random access memory (RAM) andthe persistent storage is a hard disk drive (HDD) or flash memory. Ingeneral, persistent (non-transitory) memory can include all forms ofmemory that maintain data when a computer or other device is powereddown. These include, but are not limited to, HDDs, CDs, DVDs, magnetictapes, solid state drives, portable USB drives and any other suitableform of persistent memory.

The processor is also provided with a number of different inputsallowing the user to interface with the processor. In this illustrativeembodiment, a microphone 29, an auxiliary input 25 (for input 33), a USBinput 23, a GPS input 24, screen 4, which may be a touchscreen display,and a BLUETOOTH input 15 are all provided. An input selector 51 is alsoprovided, to allow a user to swap between various inputs. Input to boththe microphone and the auxiliary connector is converted from analog todigital by a converter 27 before being passed to the processor. Althoughnot shown, numerous of the vehicle components and auxiliary componentsin communication with the VCS may use a vehicle network (such as, butnot limited to, a CAN bus) to pass data to and from the VCS (orcomponents thereof).

Outputs to the system can include, but are not limited to, a visualdisplay 4 and a speaker 13 or stereo system output. The speaker isconnected to an amplifier 11 and receives its signal from the processor3 through a digital-to-analog converter 9. Output can also be made to aremote BLUETOOTH device such as PND 54 or a USB device such as vehiclenavigation device 60 along the bi-directional data streams shown at 19and 21 respectively.

In one illustrative embodiment, the system 1 uses the BLUETOOTHtransceiver 15 to communicate 17 with a user's nomadic device 53 (e.g.,cell phone, smart phone, PDA, or any other device having wireless remotenetwork connectivity). The nomadic device can then be used tocommunicate 59 with a network 61 outside the vehicle 31 through, forexample, communication 55 with a cellular tower 57. In some embodiments,tower 57 may be a WiFi access point.

Exemplary communication between the nomadic device and the BLUETOOTHtransceiver is represented by signal 14.

Pairing a nomadic device 53 and the BLUETOOTH transceiver 15 can beinstructed through a button 52 or similar input. Accordingly, the CPU isinstructed that the onboard BLUETOOTH transceiver will be paired with aBLUETOOTH transceiver in a nomadic device.

Data may be communicated between CPU 3 and network 61 utilizing, forexample, a data-plan, data over voice, or DTMF tones associated withnomadic device 53. Alternatively, it may be desirable to include anonboard modem 63 having antenna 18 in order to communicate 16 databetween CPU 3 and network 61 over the voice band. The nomadic device 53can then be used to communicate 59 with a network 61 outside the vehicle31 through, for example, communication 55 with a cellular tower 57. Insome embodiments, the modem 63 may establish communication 20 with thetower 57 for communicating with network 61. As a non-limiting example,modem 63 may be a USB cellular modem and communication 20 may becellular communication.

In one illustrative embodiment, the processor is provided with anoperating system including an API to communicate with modem applicationsoftware. The modem application software may access an embedded moduleor firmware on the BLUETOOTH transceiver to complete wirelesscommunication with a remote BLUETOOTH transceiver (such as that found ina nomadic device). BLUETOOTH is a subset of the IEEE 802 PAN (personalarea network) protocols. IEEE 802 LAN (local area network) protocolsinclude WiFi and have considerable cross-functionality with IEEE 802PAN. Both are suitable for wireless communication within a vehicle.Another communication means that can be used in this realm is free-spaceoptical communication (such as IrDA) and non-standardized consumer IRprotocols.

In another embodiment, nomadic device 53 includes a modem for voice bandor broadband data communication. In the data-over-voice embodiment, atechnique known as frequency division multiplexing may be implementedwhen the owner of the nomadic device can talk over the device while datais being transferred. At other times, when the owner is not using thedevice, the data transfer can use the whole bandwidth (300 Hz to 3.4 kHzin one example). While frequency division multiplexing may be common foranalog cellular communication between the vehicle and the internet, andis still used, it has been largely replaced by hybrids of Code DomainMultiple Access (CDMA), Time Domain Multiple Access (TDMA), Space-DomainMultiple Access (SDMA) for digital cellular communication. These are allITU IMT-2000 (3G) compliant standards and offer data rates up to 2 mbsfor stationary or walking users and 385 kbs for users in a movingvehicle. 3G standards are now being replaced by IMT-Advanced (4G) whichoffers 100 mbs for users in a vehicle and 1 gbs for stationary users. Ifthe user has a data-plan associated with the nomadic device, it ispossible that the data-plan allows for broad-band transmission and thesystem could use a much wider bandwidth (speeding up data transfer). Instill another embodiment, nomadic device 53 is replaced with a cellularcommunication device (not shown) that is installed to vehicle 31. In yetanother embodiment, the ND 53 may be a wireless local area network (LAN)device capable of communication over, for example (and withoutlimitation), an 802.11g network (i.e., WiFi) or a WiMax network.

In one embodiment, incoming data can be passed through the nomadicdevice via a data-over-voice or data-plan, through the onboard BLUETOOTHtransceiver and into the vehicle's internal processor 3. In the case ofcertain temporary data, for example, the data can be stored on the HDDor other storage media 7 until such time as the data is no longerneeded.

Additional sources that may interface with the vehicle include apersonal navigation device 54, having, for example, a USB connection 56and/or an antenna 58, a vehicle navigation device 60 having a USB 62 orother connection, an onboard GPS device 24, or remote navigation system(not shown) having connectivity to network 61. USB is one of a class ofserial networking protocols. IEEE 1394 (FireWire™ (Apple), i.LINK™(Sony), and Lynx™ (Texas Instruments)), EIA (Electronics IndustryAssociation) serial protocols, IEEE 1284 (Centronics Port), S/PDIF(Sony/Philips Digital Interconnect Format) and USB-IF (USB ImplementersForum) form the backbone of the device-device serial standards. Most ofthe protocols can be implemented for either electrical or opticalcommunication.

Further, the CPU could be in communication with a variety of otherauxiliary devices 65. These devices can be connected through a wireless67 or wired 69 connection. Auxiliary device 65 may include, but are notlimited to, personal media players, wireless health devices, portablecomputers, and the like.

Also, or alternatively, the CPU could be connected to a vehicle basedwireless router 73, using for example a WiFi (IEEE 803.11) 71transceiver. This could allow the CPU to connect to remote networks inrange of the local router 73.

In addition to having exemplary processes executed by a vehiclecomputing system located in a vehicle, in certain embodiments, theexemplary processes may be executed by a computing system incommunication with a vehicle computing system. Such a system mayinclude, but is not limited to, a wireless device (e.g., and withoutlimitation, a mobile phone) or a remote computing system (e.g., andwithout limitation, a server) connected through the wireless device.Collectively, such systems may be referred to as vehicle associatedcomputing systems (VACS). In certain embodiments particular componentsof the VACS may perform particular portions of a process depending onthe particular implementation of the system. By way of example and notlimitation, if a process has a step of sending or receiving informationwith a paired wireless device, then it is likely that the wirelessdevice is not performing the process, since the wireless device wouldnot “send and receive” information with itself. One of ordinary skill inthe art will understand when it is inappropriate to apply a particularVACS to a given solution. In all solutions, it is contemplated that atleast the vehicle computing system (VCS) located within the vehicleitself is capable of performing the exemplary processes.

As illustrated in FIG. 2, the system comprises a VCS 110 communicatingwith a GPS and Wireless Unit (GWU) 114 which is located in a vehicle112. The GPS and Wireless Unit (GWU) may include, but is not limited to,a Global Positioning System 125 and a wireless communication module 130.The VCS may communicate data to a remote back end office (BOS) orcontrol system 115 located at a data or management center. The BOS 115communicates with GWU module 114 and/or mobile device 139 via anysuitable wireless network 118, and/or via the Internet 120. The wirelessnetwork 118 may be a cellular network, a wireless wide area network(WWAN), a WiFi network, an Institute of Electrical and ElectronicsEngineers, Inc. (IEEE) 802.16 or WiMAX network, or other type ofwireless network that employs any variety of wireless technology. TheGWU module 114 is also linked to the vehicle's on-board computer systemin any suitable manner, such as a direct or indirect wire links orwireless links. Direct wire links may include a universal serial bus(USB) cable, a firewire cable, an RS-232 cable, or the like. Indirectwired links may include a packet switched or circuit switched networkconnection, an Ethernet network connection, a dial up modem connection,or the like. Wireless links may include an infrared link, a BLUETOOTHlink, an Institute of Electrical and Electronics Engineers, Inc. (IEEE)802.11 point-to-point link, an IEEE 802.16 or WiMAX link, a cellularlink, or the like.

The VCS 110 may communicate with a handheld mobile device 139 and/orembedded touch screen device 122, which helps drivers to complete theirroutes and update the route status. The mobile device may include, butis not limited to, a cellular phone, a computer tablet, and/or a laptopcomputer. The VCS 110 may automatically confirm the route status whenvehicle reaches the scheduled locations (i.e. pickup location, stops,client destination or in-bound garage). Alternatively, the driver canmanually confirm the status or confirm the status by voice input ifneeded. Every time route status changes (e.g. from garage out to pickuparrival or route started) VCS 110 triggers the backend system to stampthe time and save the GPS location for the status change. After theservice is completed, every important step in the route is recorded. VCS110 may also provide a set of Mobile Kiosk functionalities, which canautomatically log tolls, fees and can manually log extra passengers,requested stops and passenger rating/feedbacks. Most importantly, VCS110 may include a sync service module 123 which may be a Microsoft® syncservice, and an embedded transceiver 124 which provides communication toa mobile device 139 having one or more navigation application allowingfor turn by turn directions (via both graphical user interface and audiospeeches) to the pick-up location or passengers' destinations ifrequested.

The GPS (Global Positioning System) and Wireless (GWU) module 114 is ahardware unit physically installed inside a fleet of service vehicles.This device provides key data about the vehicle, which includes, but isnot limited to, ignition On/Off status, real-time vehicle location,real-time vehicle mileage, vehicle speed, vehicle direction, gasolinegauge reading, tire-pressure reading, engine diagnostics reading,maintenance data reading and theft protection features. In oneembodiment, the GWU subsystem includes three components, as illustratedin FIG. 2. The first component is a GPS unit 125 which calculates thevehicle's GPS coordinates (longitude and latitude) using signals fromGPS satellite 126 in a known manner. This unit also calculates vehicledirection (i.e. heading south, or north etc) and vehicle speed. Theupdate rate may be up to every 1 minute. This information is provided toBOS 115 at scheduled times.

The second component of the GWU 114 is a vehicle data collection unit128, which is hotwired with the VCS 110. It may read vehicle mileage,gasoline gauge, tire pressure (if equipped) and vehicle diagnostics datain real time. These data are critical for updating maintenance record,scheduling next maintenance, finding potential problems and reportingmisconducts. This data may be communicated to the BOS 115 using themobile device communicating with the VCS using wireless technology. Thewireless technology may include, but is not limited to, BLUETOOTHtechnology.

The third component of GWU 114 is a wireless communication unit 130,which is responsible for sending out the important data collected fromGPS unit 125 and vehicle data unit 128 to a local wireless carrier'sbackend server 132. The data is retrieved by Backend Office System (BOS)115 as needed. This unit also accepts text messages for configuring theGPS and vehicle data collection units and for theft protection featuresincluding forced engine off (if the vehicle's central computer systemsupports this feature). In another embodiment, the transceiver 124 maycommunicate the data collected from GPS unit 125 and vehicle data unit128 to a mobile device 139. The mobile device 139 may receive the datacollected and transmit the data to a wireless carrier's backend server132.

In another embodiment, the GWU module may have one or more componentsbeing implemented on the mobile device 139 communicating with the VCS110 using wireless technology. The one or more components maycommunicate vehicle data to and from the VCS 110 while performing theanalysis on an in-vehicle paired mobile device communicating with theVCS, before being transmitted to the BOS 115. The mobile device may haveone or more software applications to perform key vehicle datacollection, GPS analysis, and/or other VCS data for wirelesstransmission to the backend server 132.

GPS data and vehicle data are tracked and recorded periodically (basedon the refresh rate setting, which may be up to every minute). Thesedata are sent to BOS system 115 (along with time stampings collected viaVCS) to generate maintenance reports/request, billing statements,payrolls, waybills and so on.

The backend office system (BOS) module or subsystem 115 is illustratedin more detail in FIG. 3, and provides a user interface for fleet live(real-time) map tracking, fleet status monitoring, service delay alerts,vehicle malfunction/misconduct alerts, geo-fencing alerts and servicere-scheduling/re-dispatching in case of emergencies. This system may beinstalled on a local server at data center which is linked to the VCSmodule over the Internet. The BOS 115 has communication interface withVCS devices via the internet, as illustrated in FIGS. 2 and 3, toprovide services requested from drivers, for an instance, turn by turndirection guide, traffic updates, route status updates, log timestampsetc. The BOS module 115 is also responsible for getting GPS and vehicledata (in real-time) for each of the vehicles that are currently out onjobs from the wireless carrier's backend server 132, in order to be ableto track and monitor the fleet, record status, raise alerts (if any) andgenerate waybills. The BOS 115 has the responsibility to interface withother management systems, so that the GPS and Wireless solution may beintegrated with existing management systems seamlessly.

The BOS module or subsystem 115 may present the collected data to a userusing a personal computer display. The personal computer display may beconfigured based on the detected enabled vehicle features for aparticular vehicle and/or fleet of vehicles. The personal computerdisplay may update the data of the enabled features detected in thevehicle allowing the user to monitor those features.

In the embodiment illustrated in FIG. 3, BOS or control system 115basically comprises a server hardware module 140, storage andcommunication module 142, an application services module 144, and anoperation console 145 for receiving commands from an operator 146 andproviding data to the operator. Operation console 145 may comprise atouch screen or a display screen and keypad input device. The storageand communication module 142 includes a vehicle and GPS datacommunication client unit 146 which receives vehicle and GPS data fromthe GWU module 114, a VCS data communication server unit 148 forreceiving communications from the VCS 110 and sending communications tothe module 110, and a data base unit 150 linked to units 146 and 148which receives and stores data from both modules in connection with eachjob or trip carried out by vehicles in the fleet. The VCS datacommunication server unit 148 may receive communication from the VCSthrough a mobile device receiving data from the VCS using BLUETOOTHtechnology and transmitting the data to the server using a wirelessnetwork including, but not limited to, WiFi, cellular, and/or a wirelesswide area network.

The application services module 144 comprises a mapping, traffic anddirection service module 151, a geo-fencing module 152, a vehicle datacollection service module 154, a data/state logging service module 155,a waybill, payroll, and reporting service module 156, and acommunication service module 158. The mapping, traffic and directionservice module 150 communicates with websites over the Internet in orderto receive current traffic delay information, and may communicate withexternal websites to receive mapping and direction information.Alternatively, mapping and direction software for the area covered bythe fleet may be included in the BOS system 115.

The Geo-fencing module 152 defines the boundary of the jobs to beassigned at any one location. Geo-fencing areas are defined initially byan operator via a graphic user interface and can be updated anytime.Geo-fencing is used to improve the performance time from receiving theorder to dispatch it to the mobile unit. This process is automated bythe geo-fencing module. When a job is assigned, the geo-fencing moduleperforms a check to determine whether it extends outside the definedgeo-fencing area for the fleet service. If so, a notification isprovided to the operator via the operation console. Any jobs assignedbeyond the geo-fencing boundary must be justified (by a supervisor orany other senior personnel) and recorded.

Vehicle data collection service module 154 collects and monitors vehicledata on each vehicle in the fleet. When a vehicle is assigned to a job,this module checks the status of the vehicle using the data stored indata base 150 and notifies the operator if there are any areas ofconcern, such as maintenance due or the like. This module also monitorsreal time vehicle data received during a trip or job, such as mileage,gas, diagnostics, tire pressure, battery status and the like, and sendsan alert to the operator when a potential problem or error is detected.

The data/state logging service module 155 reviews logging as well asvehicle position and status information received real time during atrip, and generates delay alerts which are provided to the operator ifthe vehicle is delayed or is detected to be not moving or off route.

Waybill, payroll, and reporting service module 156 generates variousbusiness and statistical reports based on information gathered on allvehicles in the fleet. The reports include billing statements, payrollreports, vehicle maintenance reports, customer rating/feedback reports,and the like. Communication service module 158 provides communicationbetween the operator and the driver.

FIG. 4 is a block system architecture of a vehicle computing systemquerying one or more modules on a vehicle communication bus. A vehiclemay be designed with a communication bus structure that allowselectronic devices on the bus to communicate with each other and withdevice controllers and with other vehicle systems connected to the busover bus connection nodes. The bus structure may operate using one ormore proprietary communication protocols. A bus communication mayinclude a controller area network allowing flexible networkconfigurations based on different types of microprocessor andmicrocontroller.

A vehicle electrical system may include a vehicle bus 201 allowing thecontrol modules to communicate with each other. The vehicle bus may be alinear configuration, as shown, or a closed ring configuration, to whichvarious electronic devices are coupled. For example, the vehicle bus canbe a Controller Area Network (CAN) or a fiber optic Media-OrientedSystems Transport ring bus (MOST), as are known in the art. The devicescan communicate in a peer-to-peer configuration or one of the devicescan act as a master device, wherein the other devices act as slavedevices.

A gateway controller 202 of the vehicle bus 201 may providecommunication with further modules 214 on a separately connected bus203. Other electronic devices coupled to the vehicle bus 201 mayinclude, but is not limited to, an engine control module 208, driver'sinformation center 209 that includes a suitable display, for example alight emitting diode (LED) or liquid crystal (LC) display that mayprovide text and graphic information to the driver, a telematics controlunit 204 having an antenna 205 to transmit and receive wirelesscommunication, a vehicle control module 212 including steering wheelmounted switches, and HVAC controls, and a braking control module 210.

Each of the electronic devices is connected to the bus at a busconnection node. In addition, each of the electronic devices isindividually addressable on the bus 201, and each device can furtherinclude memory for retaining operating information. During vehicleoperation, each node on the bus can check for any other nodes on the busto determine if the bus is operational. For example, the telematicscontrol unit 204 may send a “check” message to a particular node orglobally to all the nodes to obtain a response indicating that the busis operational. If the bus is not operational, the bus can be shut downor the offending node can be disconnected from the bus for protection.Each node operates independently from the other nodes and contains itsown operating system, application and message stack.

For example, if the telematics control unit 204 transmits a request forinformation from the engine control module 208, the application of theengine control module may direct an appropriate reply message from themessage stack in the node to be sent on the vehicle bus 201.

The vehicle bus 201 using the gateway controller 202 may couple withother devices including, but not limited to, a cellular telephone,mobile device, navigation systems, infrared transceivers, personalcomputers, and/or communication/data ports. In addition, the devicescoupled to the device bus 203. The devices coupled using the separatelyconnected bus 203 may communicate on a peer-to-peer basis permitting theseparate bus 203 to operate without a separate gateway controller. Inanother embodiment, the gateway bus 202 may not be necessary and theother devices may be coupled directly to another device/module (e.g.telematics controller unit) or to the vehicle bus 201 directly.

Each of the modules connected to the vehicle bus can be independent,having their own operating system and operational application. Thesemodules may contain different vehicle features, controls and functions.For example, the telematics controller unit 204 having an antenna forallowing wireless communication between one or more mobile devices andthe VCS. The telematics controller unit 204 may have source codeenabling one or more telematics features and functions that may beturned on or turned off based on the options available in the vehicleand/or module.

When power is applied (i.e. starting the ignition of the vehicle andapplying power to the vehicle communication bus), the bus master and/orthe VCS may begin a module/device discovery procedure to determine whatmodules and/or devices are on the bus 201. For example, aninitialization process of the VCS may request a discovery queriesallowing modules and/or devices on a vehicle bus 201 to reportidentification. The identification may include which features areoperating on the module and/or device. The module may report whichfeatures are operating based on the configuration settings which definethe features the module may support or has enabled. For example, thequery of configuration settings may be performed on a detected module bylooking at one or more messages and/or variables. The module maytransmit the configuration settings information using the bus 201 to oneor more processers within the VCS. In another example the configurationsettings may be available in the modules message stack.

In another embodiment, the VCS may receive a wireless request toinitiate the bus master to begin a module and/or device discoveryprocedure querying for features and functions enabled on themodule/device. The wireless request may be transmitted from a server andreceived by the VCS using one or more wireless technology including, butnot limited to, WiFi, cellular, and/or BLUETOOTH communication. Afterthe VCS has completed the querying for vehicle features, options, andfunctions enabled on the vehicle, it may transmit the data to one ormore destinations including, but not limited to, a mobile device,server, wireless backend, and/or a backend office system. The VCS maywirelessly communicate the querying results using one or more wirelesstechnologies including, but not limited to, WiFi, cellular, and/orBLUETOOTH technology.

FIG. 5 is a flow chart illustrating an example method of a vehiclecomputing system querying one or more modules. The VCS querying one ormore modules communicating in a vehicle may be implemented through acomputer algorithm, machine executable code, non-transitory computerreadable storage medium, or software instructions programmed into asuitable programmable logic device(s) of the vehicle, the entertainmentmodule, the bus master, other controller in the vehicle, or acombination thereof. Although the various steps shown in the VCSquerying one or more modules for enabled vehicle features 300 appear tooccur in a chronological sequence, at least some of the steps may occurin a different order, and some steps may be performed concurrently ornot at all.

At step 302, the vehicle computing system may be initialized using oneor more process including, but not limited to, a driver entering avehicle, a driver starting a vehicle, and/or a wireless signal receivedby the VCS to “wake-up” the one or more processors communicating in thevehicle. They VCS may check for any alerts once the system has beeninitialized at step 304. The alerts which may be stored or detected bythe VCS may include vehicle maintenance alerts, traffic delay alerts,and/or geo-fencing alerts. The alerts may be transmitted to notify andinform a manager and/or driver at step 324. The VCS may notify themanager and/or driver using wireless technology to transmit to one ormore mobile devices and/or a server. The VCS may transmit the alertnotification using one or more wireless technologies including, but notlimited to, WiFi, cellular, and/or BLUETOOTH.

At step 306, if no alerts are detected at the start of the trip and/orinitialization of the VCS, the system may begin to collect vehicle dataincluding, but not limited to, fuel level(s), vehicle mileage, and/orGPS data. In addition to the collection of vehicle data, the system maybegin to initiate a query of vehicle modules and/or devices incommunication with the VCS at step 308. The query of the one or morevehicle modules may transmit a request to each module to broadcast itsconfiguration settings which may define the features it is supporting orhas enabled. In one embodiment, the VCS may query a vehicle moduleand/or device of enabled vehicle features by monitoring vehicle data bustraffic to determine which features are operating. In anotherembodiment, the VCS may determine enabled vehicle features by readingvehicle data bus configuration messages that are exchanged on the busbetween one or more modules.

At step 310, the system may gather the querying information and sort thevehicle features and functions that are detected. If the system detectsone or more vehicle features and/or functions, it may generate a reportlisting the results at step 312. The report may be package in a dataformat for wireless transmission to a server at step 314.

If no feature or functions were detected by querying the one or moremodules/devices communicating with the VCS, the system may retrieve anddecode the vehicle identification number (VIN) to determine whichfeatures and/or functions are enabled in the vehicle at step 316. Thesystem may use the VIN to determine if a vehicle feature is enabledbased on decoding the build codes embedded in the identification. Thesystem may also use the VIN in addition to the querying results todetermine the enabled vehicle features, functions and options on avehicle.

Additional data may be retrieved including vehicle diagnostics and/ormaintenance notices at step 316. The VIN, vehicle diagnostics andmaintenance messages may be wireless transmitted to a server at step318. The VIN and/or additional data may be transmitted to the server foradditional analysis.

At step 320, the system may collect vehicle speed and directional datawhile continuously monitoring all types of alerts throughout the trip.The system may transmit the collected vehicle speed and directional datato the server at step 322. The data collected may be transmitted to aserver, backend server, mobile device, and/or a backend office system.The data collected may be transmitted using one or more wirelesstechnologies including, but not limited to, WiFi, cellular, and/orBLUETOOTH technology.

At step 324, the collected data may be transmitted to notify and informa manager and/or driver. The notification to the manager and/or drivermay be presented on one or more output devices including, but notlimited to, a mobile device, a vehicle's driver information center,and/or presented at a webpage. The collected data may be transmitted tothe one or more output devices using wireless technology including, butnot limited to, WiFi, BLUETOOTH, and/or cellular.

At step 326, the system may continuously collect data, query modules,and/or report alerts to a driver and/or manager during a key cycle. Thekey cycle begins when the VCS is initialized and may end when the VCSshutdowns. If the VCS shutdowns (e.g. powers down), the system may endthe querying of one or more modules.

FIG. 6 is a flow chart illustrating an example method of determiningenabled vehicle features 400 on a module in a vehicle computing system.The vehicle computing system may have one or more processerscommunicating to enable vehicle features, functions, and options. Thevehicle features, functions, and options may include, but is not limitedto, anti-lock braking, traction control, telematics options (e.g.Microsoft Sync), navigation, heated seats, air conditioned seats, and/ora moon roof, just to name a few. These vehicle features, functions, andoptions may be controlled and enabled by one or more modules and/ordevices communicating in the VCS. The communication between thesemodules may be enabled using a vehicle data bus (e.g. CAN bus).

At step 402, the VCS may be initialized by transmitting a signal to oneor more modules. An example of initializing the VCS may occur when anoccupant has entered the vehicle and/or has enabled the ignition of thevehicle. Once the VCS initialization process starts, the system maycommunicate to the one or more modules to begin collecting data at step404. The collected vehicle data process may include, but is not limitedto, diagnostics, maintenance, vehicle location, speed, and/or generalvehicle information (e.g. VIN).

At step 406, the system may receive a message from a fleet managementsystem to begin querying the one or more modules for enabled vehiclefeatures and functions. The system may transmit a querying request toeach module communicating with the VCS at step 408. The query of vehiclemodules may be done using a vehicle data bus and/or using wirelesscommunication technology. The system may determine if one or moremodules are detected at step 410.

At step 412, once detected, the module communicating within a vehiclesystem may be analyzed based on one or more variables within themodule's embedded software. The one or more variables within themodule's embedded software may include, but is not limited to,configuration variables, settings, and/or hardware identification. If noadditional modules are detected, the system may exit the query whiletransmitting the collected data and determined vehicle features andfunctions to a server at step 428.

At step 414, the system may determine one or more enabled vehiclefeatures and/or functions based on analysis of the software size on thedetected module. The system may compare software size on a detectedmodule to determine whether or not the module has the software toimplement one or more features or functions at step 416. For example,the brake control module may be detected and during analysis of thesoftware size on the module, it may be determined that the brake controlmodule may have the anti-lock brake feature. It may also be determinedbased on the analysis of the brake control module software size that themodule does not have software to implement traction control.

At step 428, if the system is able to determine one or more enabledfeatures and/or functions of the module based on software size, thesystem may transmit the vehicle feature and/or function to a server. Ifthe system is unable to determine if the module has enabled one or morevehicle features, functions and/or options at the detected module basedon software size, then the system may perform an analysis of calibrationvariables embedded in the module at step 418.

At step 420, the system may determine if a calibration variable and/orvalue is configured to implement a certain vehicle feature, function oroption based on a calibration bit(s) and/or byte(s) enabled in thesoftware. For example, the vehicle control module may be detectedallowing the system to determine that the calibration bits are turned onto enable heat seats in the vehicle. If a vehicle feature is determinedbased on the calibrations, the system may transmit a wireless signal toa server indicating of the enabled vehicle feature. If the system isunable to determine if the module has enabled one or more vehiclefeatures, functions and/or options at the detected module based oncalibrations, the system may analyze the recognized hardware embedded onthe module at step 422.

At step 424, the system may determine one or more enabled feature and/orfunctions of the detected module based on hardware configuration andanalysis. The system may determine a feature based on hardwarerecognition of a certain module or control that enables a specificvehicle feature. For example, the system may detect the Telematicscontroller unit to have a SYNC module communicating with the VCS. If thesystem detects and recognizes a piece of hardware associated with avehicle feature, function, and/or option, it may transmit the collectedinformation to a server at step 428.

At step 426, the system may determine additional vehicle functionsand/or features based on the VIN. The VIN may be encoded withinformation related to the vehicle assembly including, but not limitedto, vehicle features, functions, and options. For example, the VIN maybe decoded to obtain information including, but not limited to, enginetype and size, transmission type, differential, and/or torque converterwith their associated control modules. The system may transmit thecollected vehicle features of the one or more enabled vehicle featuresand systems to a server at step 428.

FIG. 7 is a flow chart illustrating an example method of tailoring auser screen 500 in response to one or more vehicle features detectedwithin a vehicle computing system. The user interface screen may allow auser or a fleet manager to review vehicle data including, but notlimited to, vehicle location (GPS), vehicle maintenance, and/or vehiclealerts and diagnostic messages. The interface screen may be present to auser based on received data regarding the vehicle's features, options,and functions enabled in the vehicle. The user interface allows a userto select from various options such as searching vehicle features,generating reports, and monitoring vehicle location and performance.

At step 502, the server and/or operating system may receive vehicle datacollected from the VCS. The user screen may be tailored based on thereceived data collected by the VCS at step 504. If the screen is nottailor specifically for the identified vehicle with the detected modulehaving an enabled vehicle feature, the user screen may be set to adefault screen at step 508. The default screen may allow for genericupdates based on data receive and/or the default features, options,and/or functions of that vehicle.

For example, the default user screen may include, but is not limited toa map tracking screen that shows the vehicle location based on GPS. Thedefault screen may also allow for an alert monitoring screen to pop upto show any alerts generated by one or more diagnostics and/or featuresincluding the geo-fencing service module. The geo-fencing service modulemay alert a user if the vehicle has gone outside a designated area. Thedefault user screen may also present vehicle data collection such as lowgas, low battery, maintenance overdue, and or low tire pressure.

At step 506, if the server and/or operating system received vehicle datarecognizing one or more enabled features, functions and options locatedon the vehicle, the user screen may be tailored to these determinedfeatures. For example, if the server and/or operating system receivedvehicle data that reports the vehicle includes traction control as avehicle feature, the user screen may present a tailored screen withinformation regarding traction control. The tailor user screen mayinform the user the current status of traction control, for example, ifthe driver has manually disabled the feature. Another example of thetailored user screen for the traction control may be maintenanceinformation regarding the vehicle feature including, but not limited to,software updates being offer by the vehicle OEM.

At step 510, the user screen may continuously be updated with datareceived from a vehicle during a trip. The user screen may allow for oneor more messages to be displayed on the screen once they are receivedfrom the vehicle at step 512. The one or more messages to be displayedbased on received data allows for certain data to be displayed when afault, error or violation has occurred including, but not limited to,diagnostic messages, geo-fencing violations, and/or maintenancereminders.

The user screen may continuously be updated based on the received dataduring a vehicle trip at step 514. If the vehicle trip is over, the userscreen may allow the user to review the data already received. Forexample, if the vehicle trip has ended, the user may review the datareceived and stored in the database. This may allow the user tounderstand preventive maintenance issues, the current status of thevehicle, and/or review of past vehicle abuses.

FIG. 8 is a block diagram of information being presented on an outputdevice in response to the one or more vehicle features. The outputdevice 602 may include, but is not limited to, a mobile device, personalcomputer, and/or an in-vehicle center console LCD screen. The outputdevice may receive wireless transmission of data from a vehicle usingone or more wireless technologies including, WiFi, BLUETOOTH, and/orcellular.

The output device may display vehicle data including, but not limitedto, vehicle features 604, diagnostics 606, vehicle options 608, vehiclefunctions 610, maintenance 612 and/or instrument gages 614. The outputdevice may be in communication with one or more servers and databases.The fleet manager or user may receive information from the vehicleduring a trip or review the received data from a previous trip fromvehicle data stored in the one or more databases.

The output device display may tailor the display based on the receiveddata from the VCS including, but not limited to, the querying of modulesto determine enabled vehicle features and/or functions. The outputdevice may transmit a message to the VCS during a vehicle trip toinitiate a query of the modules to receive data regarding the vehiclefeatures and/or functions associated with the vehicle. The output devicemay receive a wireless message from the VCS and update the display onthe output device.

While exemplary embodiments are described above, it is not intended thatthese embodiments describe all possible forms of the invention. Rather,the words used in the specification are words of description rather thanlimitation, and it is understood that various changes may be madewithout departing from the spirit and scope of the invention.Additionally, the features of various implementing embodiments may becombined to form further embodiments of the invention.

What is claimed is:
 1. A fleet management system comprising: a firstprocessor configured to: wirelessly receive an initialization signaloriginating from a fleet management server in communication with thefirst processor; responsive to the initializing signal, query vehiclemodules for enabling data indicating optional features installed in avehicle, wherein the query is based on one or more criteria; wirelesslytransmit a signal indicating the installed features to the fleetmanagement server; wherein the fleet management server is configured totailor a user screen responsive to indicated installed features receivedfrom the first processor.
 2. The fleet management system of claim 1wherein the one or more criteria includes comparing a module softwaresize.
 3. The fleet management system of claim 1 wherein the one or morecriteria includes analysis of calibration variable settings.
 4. Thefleet management system of claim 1 wherein the one or more criteriaincludes hardware configuration.
 5. The fleet management system of claim1 wherein the server is configured to output the enabled features to acellular phone.
 6. The fleet management system of claim 1 wherein theserver is configured to output the enabled features to a personalcomputer.
 7. The fleet management system of claim 1 wherein the querybased on one or more criteria includes a query of one or moreconfiguration settings for the module.
 8. A computer-implemented methodcomprising: wirelessly receiving an initialization signal from a fleetmanagement server; querying vehicle modules for enabling data indicatingoptional features installed in a vehicle, responsive to theinitialization signal on a vehicle data bus, the query being based onone or more criteria; wirelessly transmitting a signal indicating theinstalled features to the fleet management server; and tailoring anoutput display at the fleet management server based on the indicatedinstalled features.